#
# TI Stellaris Launchpad ek-lm4f120xl Evaluation Kits
#
# http://www.ti.com/tool/ek-lm4f120xl
#

#
# NOTE: using the bundled ICDI interface is optional!
# This interface is not ftdi based as previous boards were
#

# Interface configuration

#
# TI Stellaris In-Circuit Debug Interface (ICDI) Board
#
# This is the propriety ICDI interface used on newer boards such as
# LM4F232 Evaluation Kit - http://www.ti.com/tool/ek-lm4f232
# Stellaris Launchpad - http://www.ti.com/stellaris-launchpad
# http://www.ti.com/tool/ek-lm4f232
#

interface hla
hla_layout ti-icdi
hla_vid_pid 0x1cbe 0x00fd

# Board configuration

# unused but set to disable warnings
adapter_khz 1000

set WORKAREASIZE 0x8000
set CHIPNAME lm4f120h5qr

# Target configuration

#
# lm3s icdi pseudo target
#

if { [info exists CHIPNAME] } {
   set _CHIPNAME $CHIPNAME
} else {
   set _CHIPNAME lm3s
}

# Work-area is a space in RAM used for flash programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
   set _WORKAREASIZE $WORKAREASIZE
} else {
   set _WORKAREASIZE 0x4000
}

#
# possible value are hla_jtag
# currently swd is not supported
#
transport select hla_jtag

# do not check id as icdi currently does not support it
hla newtap $_CHIPNAME cpu -expected-id 0

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME hla_target -chain-position $_TARGETNAME

$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

# flash configuration ... autodetects sizes, autoprobed
flash bank $_CHIPNAME.flash stellaris 0 0 0 0 $_TARGETNAME
